Error handling

Descripcion

Usos de manejo de excepciones en clean code.

Manejo de excepciones

Conceptos clave:

Usar excepciones en vez de devolver códigos de error

Cuando devolvemos códigos de error nos estamos forzando a realizar una comprobación (bloque if) en el mismo punto de retorno de la función, si utilizamos excepciones podemos separar la lógica del código y el manejo de excepciones en dos sitios distintos

Usar unchecked exceptions

Si utilizamos unchecked exceptions (Runtime exceptions), nos permite hacer un código menos acoplado, ya que si usamos checked exceptions y definimos una excepción en una función que está muy anidada tendremos que definir un throws en todas las funciones que están por encima de esta hasta llegar al catch, por lo que se genera una violación del Open/Closed Principle.

Wrapping exceptions

Una buena práctica es la de encapsular varias excepciones en una sola expceción propia, por ejemplo cuando usamos una API de terceros, de está manera tenemos menos acoplamiento con la libería, ya que si en un futuro cambiasemos de librería solo tendríamos que cambiar el wrapper, ya que todo nuestros código funciona con nuestra propia excepción

No devolver Null

Siempre hay que evitar el hecho de devolver Null en nuestras funciones, ya que esto nos genera mas trabajo y mas posibles fallos, ya que el hecho de devolver null nos genera la situación de tener que comprobar si la función ha retornado Null para controlar esa situación y en caso de que no controlemos esa situación podemos llegar a una situación en la que se lanzaría una expceción de NullPointerException

No pasar Null

Al igual que no devolver null en una funcion, debemos evitar el echo de pasar null a una funcion, ya que nuevamente podemos generar NullPointerException.

NOTA: La excepción a esta regla es si estamos usando una API que requiere que le pasemos Null.

Tags

Clean Code | Expcetions | Error